import h2.connection
import h2.events
import h2.errors
import socket

# 创建一个HTTP/2连接
conn = h2.connection.H2Connection()
conn.initiate_connection()

# 假设你已经通过某种方式（如TLS）建立了一个到服务器的连接
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.connect(('example.com', 443))  # 替换为实际的服务器地址和端口

# 发送客户端的preface和设置帧
sock.sendall(conn.data_to_send())

# 假设你已经有了一个打开的流ID（例如，通过发送HEADERS帧）
stream_id = 1

# 发送RST_STREAM帧
conn.reset_stream(stream_id, h2.errors.ErrorCodes.NO_ERROR)

# 发送任何待发送的数据
sock.sendall(conn.data_to_send())

# 关闭连接
sock.close()